package com.wn.purchaeReturn.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * Pur_PurchaseBillDetail
 * @author 
 */
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("Pur_PurchaseBillDetail")
public class PurPurchasebilldetail extends PurPurchasebilldetailKey implements Serializable {
    private String prodcd;

    private String lotno;

    @TableId("PURCHASEQNTY")
    @Excel(name = "采购数量", width = 20, orderNum = "1")
    private Integer purchaseqnty;

    @TableId("BASICPURCHASEQNTY")
    @Excel(name = "采购基本数量", width = 20, orderNum = "2")
    private Integer basicpurchaseqnty;

    @TableId("REALQNTY")
    @Excel(name = "确认数量", width = 20, orderNum = "3")
    private Integer realqnty;

    @TableId("BASICREALQNTY")
    @Excel(name = "确认基本数量", width = 20, orderNum = "4")
    private Integer basicrealqnty;

    @TableId("UNITCD")
    @Excel(name = "单位代码", width = 20, orderNum = "5")
    private String unitcd;

    @TableId("BASICUNITCD")
    @Excel(name = "基本单位代码", width = 20, orderNum = "6")
    private String basicunitcd;

    @TableId("PURCHASEPRICE")
    @Excel(name = "采购单价", width = 20, orderNum = "7")
    private BigDecimal purchaseprice;

    @TableId("TAX")
    @Excel(name = "不含税采购单价", width = 20, orderNum = "8")
    private BigDecimal tax;

    @TableId("TOTALMNY")
    @Excel(name = "总金额", width = 20, orderNum = "9")
    private BigDecimal totalmny;

    @TableId("RtnQNTY")
    @Excel(name = "入库数量", width = 20, orderNum = "10")
    private Integer rtnqnty;

    @TableId("BasicRtnQnty")
    @Excel(name = "基本入库数量", width = 20, orderNum = "11")
    private Integer basicrtnqnty;

    private static final long serialVersionUID = 1L;

    public String getProdcd() {
        return prodcd;
    }

    public void setProdcd(String prodcd) {
        this.prodcd = prodcd;
    }

    public String getLotno() {
        return lotno;
    }

    public void setLotno(String lotno) {
        this.lotno = lotno;
    }

    public Integer getPurchaseqnty() {
        return purchaseqnty;
    }

    public void setPurchaseqnty(Integer purchaseqnty) {
        this.purchaseqnty = purchaseqnty;
    }

    public Integer getBasicpurchaseqnty() {
        return basicpurchaseqnty;
    }

    public void setBasicpurchaseqnty(Integer basicpurchaseqnty) {
        this.basicpurchaseqnty = basicpurchaseqnty;
    }

    public Integer getRealqnty() {
        return realqnty;
    }

    public void setRealqnty(Integer realqnty) {
        this.realqnty = realqnty;
    }

    public Integer getBasicrealqnty() {
        return basicrealqnty;
    }

    public void setBasicrealqnty(Integer basicrealqnty) {
        this.basicrealqnty = basicrealqnty;
    }

    public String getUnitcd() {
        return unitcd;
    }

    public void setUnitcd(String unitcd) {
        this.unitcd = unitcd;
    }

    public String getBasicunitcd() {
        return basicunitcd;
    }

    public void setBasicunitcd(String basicunitcd) {
        this.basicunitcd = basicunitcd;
    }

    public BigDecimal getPurchaseprice() {
        return purchaseprice;
    }

    public void setPurchaseprice(BigDecimal purchaseprice) {
        this.purchaseprice = purchaseprice;
    }

    public BigDecimal getTax() {
        return tax;
    }

    public void setTax(BigDecimal tax) {
        this.tax = tax;
    }

    public BigDecimal getTotalmny() {
        return totalmny;
    }

    public void setTotalmny(BigDecimal totalmny) {
        this.totalmny = totalmny;
    }

    public Integer getRtnqnty() {
        return rtnqnty;
    }

    public void setRtnqnty(Integer rtnqnty) {
        this.rtnqnty = rtnqnty;
    }

    public Integer getBasicrtnqnty() {
        return basicrtnqnty;
    }

    public void setBasicrtnqnty(Integer basicrtnqnty) {
        this.basicrtnqnty = basicrtnqnty;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PurPurchasebilldetail other = (PurPurchasebilldetail) that;
        return (this.getPurchaseno() == null ? other.getPurchaseno() == null : this.getPurchaseno().equals(other.getPurchaseno()))
            && (this.getPurchaselno() == null ? other.getPurchaselno() == null : this.getPurchaselno().equals(other.getPurchaselno()))
            && (this.getProdcd() == null ? other.getProdcd() == null : this.getProdcd().equals(other.getProdcd()))
            && (this.getLotno() == null ? other.getLotno() == null : this.getLotno().equals(other.getLotno()))
            && (this.getPurchaseqnty() == null ? other.getPurchaseqnty() == null : this.getPurchaseqnty().equals(other.getPurchaseqnty()))
            && (this.getBasicpurchaseqnty() == null ? other.getBasicpurchaseqnty() == null : this.getBasicpurchaseqnty().equals(other.getBasicpurchaseqnty()))
            && (this.getRealqnty() == null ? other.getRealqnty() == null : this.getRealqnty().equals(other.getRealqnty()))
            && (this.getBasicrealqnty() == null ? other.getBasicrealqnty() == null : this.getBasicrealqnty().equals(other.getBasicrealqnty()))
            && (this.getUnitcd() == null ? other.getUnitcd() == null : this.getUnitcd().equals(other.getUnitcd()))
            && (this.getBasicunitcd() == null ? other.getBasicunitcd() == null : this.getBasicunitcd().equals(other.getBasicunitcd()))
            && (this.getPurchaseprice() == null ? other.getPurchaseprice() == null : this.getPurchaseprice().equals(other.getPurchaseprice()))
            && (this.getTax() == null ? other.getTax() == null : this.getTax().equals(other.getTax()))
            && (this.getTotalmny() == null ? other.getTotalmny() == null : this.getTotalmny().equals(other.getTotalmny()))
            && (this.getRtnqnty() == null ? other.getRtnqnty() == null : this.getRtnqnty().equals(other.getRtnqnty()))
            && (this.getBasicrtnqnty() == null ? other.getBasicrtnqnty() == null : this.getBasicrtnqnty().equals(other.getBasicrtnqnty()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getPurchaseno() == null) ? 0 : getPurchaseno().hashCode());
        result = prime * result + ((getPurchaselno() == null) ? 0 : getPurchaselno().hashCode());
        result = prime * result + ((getProdcd() == null) ? 0 : getProdcd().hashCode());
        result = prime * result + ((getLotno() == null) ? 0 : getLotno().hashCode());
        result = prime * result + ((getPurchaseqnty() == null) ? 0 : getPurchaseqnty().hashCode());
        result = prime * result + ((getBasicpurchaseqnty() == null) ? 0 : getBasicpurchaseqnty().hashCode());
        result = prime * result + ((getRealqnty() == null) ? 0 : getRealqnty().hashCode());
        result = prime * result + ((getBasicrealqnty() == null) ? 0 : getBasicrealqnty().hashCode());
        result = prime * result + ((getUnitcd() == null) ? 0 : getUnitcd().hashCode());
        result = prime * result + ((getBasicunitcd() == null) ? 0 : getBasicunitcd().hashCode());
        result = prime * result + ((getPurchaseprice() == null) ? 0 : getPurchaseprice().hashCode());
        result = prime * result + ((getTax() == null) ? 0 : getTax().hashCode());
        result = prime * result + ((getTotalmny() == null) ? 0 : getTotalmny().hashCode());
        result = prime * result + ((getRtnqnty() == null) ? 0 : getRtnqnty().hashCode());
        result = prime * result + ((getBasicrtnqnty() == null) ? 0 : getBasicrtnqnty().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", prodcd=").append(prodcd);
        sb.append(", lotno=").append(lotno);
        sb.append(", purchaseqnty=").append(purchaseqnty);
        sb.append(", basicpurchaseqnty=").append(basicpurchaseqnty);
        sb.append(", realqnty=").append(realqnty);
        sb.append(", basicrealqnty=").append(basicrealqnty);
        sb.append(", unitcd=").append(unitcd);
        sb.append(", basicunitcd=").append(basicunitcd);
        sb.append(", purchaseprice=").append(purchaseprice);
        sb.append(", tax=").append(tax);
        sb.append(", totalmny=").append(totalmny);
        sb.append(", rtnqnty=").append(rtnqnty);
        sb.append(", basicrtnqnty=").append(basicrtnqnty);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}